/*  BEGIN_FILE_HDR
******************************************Copyright(C)*****************************************
*
*                                       YKXH  Technology
*
***********************************File Info***************************************************
*   File Name       @: Dcm_Cbk.h
************************************************************************************************
*   Project/Product @: DCM
*   Title           @: 
*   Author          @: zhongliang.Yang 
************************************************************************************************
*   Description     @: 
*                   
************************************************************************************************
*   Limitations     @: None
*
************************************************************************************************
*
************************************************************************************************
*   Revision History:
* 
*   Version     Date          Initials           CR#         Descriptions
*   --------    -----------   ----------------   --------    -----------------------
*   1.0         2018/05/29    zhongliang.yang    N/A         Original 
*   1.1         xxxx/xx/xx    xxxxx              N/A         xxxxxxxx 
*     
************************************************************************************************
* END_FILE_HDR*/

#ifndef _DCM_CBK_H_
#define _DCM_CBK_H_

/*******************************************************************************
* Include files
********************************************************************************/

#include "../src/BSW/CommS/NM/YKBase/BaseComm.h"

/*******************************************************************************
* Global Function Prototype
********************************************************************************/
#define DCM_START_SEC_PUBLIC_CODE
#include "../src/BSW/CommS/NM/YKBase/MemMap.h"

extern FUNC(BufReq_ReturnType,DCM_PUBLIC_CODE) Dcm_StartOfReception
(
    PduIdType     DcmRxPduId,
    PduLengthType TpSduLength,
    P2VAR(PduLengthType,AUTOMATIC,DCM_APPL_DATA) Length
);

extern FUNC(BufReq_ReturnType,DCM_PUBLIC_CODE) Dcm_CopyRxData
(
    PduIdType      DcmRxPduId,
    P2VAR(PduInfoType,AUTOMATIC,DCM_APPL_DATA) PduInfoPointer,
    P2VAR(PduLengthType,AUTOMATIC,DCM_APPL_DATA) RxBufferSizePtr
);

extern FUNC(void,DCM_PUBLIC_CODE) Dcm_RxIndication
(
    PduIdType       DcmRxPduId,
    NotifResultType Result
);

extern FUNC(BufReq_ReturnType,DCM_PUBLIC_CODE) Dcm_CopyTxData
(
    PduIdType      DcmTxPduId,
    P2VAR(PduInfoType,AUTOMATIC,DCM_APPL_DATA) PduInfoPtr,
    P2VAR(RetryInfoType,AUTOMATIC,DCM_APPL_DATA) RetryInfoPtr,
    P2VAR(PduLengthType,AUTOMATIC,DCM_APPL_DATA) TxDataCntPtr
);

extern FUNC(void,DCM_PUBLIC_CODE) Dcm_TxConfirmation
(
    PduIdType       DcmTxPduId,
    NotifResultType Result
);

#define DCM_STOP_SEC_PUBLIC_CODE
#include "../src/BSW/CommS/NM/YKBase/MemMap.h"
#endif
